The MuSE System: A Flexible Combination of On-Stack Execution and Work-Stealing
نویسنده
چکیده
Executing subordinate activities by pushing return addresses on the stack is the most e cient working mode for sequential programs. It is supported by all current processors, yet in most cases is inappropriate for parallel execution of indepented threads of control. This paper describes an approach of dynamically switching between e cient on-stack execution of sequential threads and o -stack spawning of parallel activities. The presented method allows to incorporate work-stealing into the scheduler, letting the system pro t from its near-to-optimal loadbalancing properties.
منابع مشابه
Faster Work Stealing With Return Barriers
Work-stealing is a promising approach for effectively exploiting software parallelism on parallel hardware. A programmer who uses work-stealing explicitly identifies potential parallelism and the runtime then schedules work, keeping otherwise idle hardware busy while relieving overloaded hardware of its burden. However, work-stealing comes with substantial overheads. Our prior work demonstrates...
متن کاملWork-Stealing by Stealing States from Live Stack Frames of a Running Application
The use of a work stealing scheduler has become a popular approach for providing task parallelism. It is used in many modern parallel programming languages, such as Cilk and X10, which have emerged to address the concerns of parallel programming complexity on modern multicore architectures. There are various challenges in providing an efficient implementation of work-stealing, but in any implem...
متن کاملIssues in Implementing ACE: A Stack Copying Based And-Or Parallel System
We discuss several issues involved in the implementation of ACE, a model capable of exploiting both And-parallelism and Or-parallelism in Prolog in a unified framework. The Orparallel model that ACE employs is based on the idea of stack-copying developed for Muse, while the model of independent And-parallelism is based on the distributed stack approach of &-Prolog. We discuss the organization o...
متن کاملFine Grain Distributed Implementation of a Dataflow Language with Provable Performances
Efficient execution of multithreaded iterative numerical computations requires to carefully take into account data dependencies. This paper presents an original way to express and schedule general dataflow multithreaded computations. We propose a distributed dataflow stack implementation which efficiently supports work stealing and achieves provable performances on heterogeneous grids. It exhib...
متن کاملParallel Graph Traversals using Work-Stealing Frameworks for Many-core Platforms
Parallel programming/execution frameworks for many/multi-core platforms should support as many applications as possible. In general, work-stealing frameworks provide efficient load balancing even for irregular parallel applications. Unfortunately, naı̈ve parallel programs which traverse graph-based data structures (e.g., for constructing spanning trees) cause stack overflow or unacceptable load ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999